package com.teaching.teachingsupport.common.pojo.dataobject;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@TableName("course")
public class Course {
    @TableId(type = IdType.AUTO)
    private Long courseId;
    
    @TableField("course_code")
    private String courseCode;
    
    @TableField("academic_year")
    private Integer academicYear;
    
    @TableField("course_name")
    private String courseName;
    
    @TableField("en_name")
    private String enName;
    
    @TableField("language")
    private String language;
    
    @TableField("credit")
    private BigDecimal credit;
    
    @TableField("category_name")
    private String categoryName;
    
    @TableField("is_free")
    private Integer isFree;
    
    @TableField("course_class")
    private String courseClass;
    
    @TableField("is_required")
    private Integer isRequired;
    
    @TableField("direction_id")
    private Integer directionId;
    
    @TableField("theory_hours")
    private Integer theoryHours;
    
    @TableField("practice_hours")
    private Integer practiceHours;
    
    @TableField("course_type")
    private String courseType;
    
    @TableField("nature")
    private String nature;
    
    @TableField("applicable_major")
    private String applicableMajor;
    
    // 非数据库字段
    @TableField(exist = false)
    private List<String> teacherNames;  // 所有任课教师的名字
    
    @TableField(exist = false)
    private String teacherName;  // 单个教师名字
    
    @TableField(exist = false)
    private Integer studentCount;
    
    @TableField(exist = false)
    private String semester;
    
    @TableField(exist = false)
    private String status;
}
